package com.ruoyi.college.mapper;

import java.util.List;
import com.ruoyi.college.domain.ExperimentScoreStandard;
import org.apache.ibatis.annotations.Param;

/**
 * 设置评分标准Mapper接口
 * 
 * @author ruoyi
 * @date 2025-08-27
 */
public interface ExperimentScoreStandardMapper
{
    /**
     * 查询设置评分标准
     * 
     * @param standardId 设置评分标准主键
     * @return 设置评分标准
     */
    public ExperimentScoreStandard selectExperimentScoreStandardByStandardId(Long standardId);

    /**
     * 查询设置评分标准列表
     * 
     * @param experimentScoreStandard 设置评分标准
     * @return 设置评分标准集合
     */
    public List<ExperimentScoreStandard> selectExperimentScoreStandardList(ExperimentScoreStandard experimentScoreStandard);

    /**
     * 新增设置评分标准
     * 
     * @param experimentScoreStandard 设置评分标准
     * @return 结果
     */
    public int insertExperimentScoreStandard(ExperimentScoreStandard experimentScoreStandard);

    /**
     * 修改设置评分标准
     * 
     * @param experimentScoreStandard 设置评分标准
     * @return 结果
     */
    public int updateExperimentScoreStandard(ExperimentScoreStandard experimentScoreStandard);

    /**
     * 删除设置评分标准
     * 
     * @param standardId 设置评分标准主键
     * @return 结果
     */
    public int deleteExperimentScoreStandardByStandardId(Long standardId);

    /**
     * 批量删除设置评分标准
     * 
     * @param standardIds 需要删除的数据主键集合
     * @return 结果
     */
    public int deleteExperimentScoreStandardByStandardIds(String[] standardIds);

    /**
     * 查询课程的评分标准
     *
     * @param courseId 课程ID
     * @return 评分标准
     */
    ExperimentScoreStandard selectByCourseId(@Param("courseId") Long courseId);

    /**
     * 查询课程负责人的评分标准列表
     *
     * @param createBy 创建人
     * @return 评分标准列表
     */
    List<ExperimentScoreStandard> selectByLeader(@Param("createBy") String createBy);


    void insert(ExperimentScoreStandard scoreStandard);


    void updateByStandardId(ExperimentScoreStandard scoreStandard);

    int deleteByStandardId(Long id);
}
